home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PCMania 73
/
PCMania CD73_1.iso
/
sharewar
/
varios
/
partial
/
LIB
/
ARTICULO.004
< prev
next >
Wrap
Text File
|
1996-01-05
|
11KB
|
260 lines
/* LA BIBLIA DE C */
Se inicia un curso de C y C++ que espero que en cierto modo os introduzca en
los lenguajes de alto nivel ( ¿ Que es un lenguaje de alto nivel ?, casi todo
el mundo lo sabe , bueno mi abuela no sé, personalmente lo considero como un
lenguaje mediante el cual el programador puede con una cierta facilidad
programar, aunque al final siempre que se quiera algo extraordinario
se tenga que recurrir a mi querido ensamblador ).
Durante tres o cuatro números de la revista, se comentará lo mejor posible
todo lo relacionado con el lenguaje C y sus características, debido a la
semejanza del C y C++, continuaremos con números dedicados especialmente
a la programación Windows, que aunque muchos no sean partidiarios de este
sistema por desgracia es lo que impera [ I love Linux ;-) ].
Bueno sin más dilación al asunto.
PROGRAMACION EN C/C++
---------------------
El lenguaje C surge a principios de los años 70 en los laboratorios Bell
de AT&T. El éxito de este lenguaje, entre otras cosas, se debe a su relación
con el sistema operativo UNIX, ya que este fue creado con él. Y en fin todo
comienza aqui ....
A POR LA CABECERA DEL PROGRAMA
------------------------------
Comencemos con la programación en C/C++, lo principal para que un programa
en C/C++ funcione es utilizar debidamente la declaración de ficheros INCLUDE.
La instrucción #INCLUDE no tiene por qué estar al principio del programa,
aunque suele ser habitual.
Mediante la instrucción #INCLUDE se cargan librerías de extensión .H que
nos permiten utilizar diferentes instrucciones o incluso las que nosotros
nos hagamos. Existen multitud de librerías que deberan ser declaradas si
utilizamos instrucciones que las precisen, como la stdio.h, la conio.h,
la dos.h, etc.................
Más adelante explicaré con que instrucciones se utiliza cada librería
pero en fin es muy fácil de recordar con práctica.
Antes del comienzo del programa en sí, se pueden definir todavía constantes
y variables globales. La diferencia entre estas dos, es que las constantes
toman un valor y no se modifican en todo el programa, sin embargo las
variables sí, ( mucha gente recomienda no utilizar variables globales, pero
personalmente pienso que el programador es el único que debe decidir esto
según sus propósitos ).
Dentro de las constantes globales nos encontramos con la instrucción
#DEFINE que nos permite definir una constante que tendrá el valor
que queramos durante todo el programa, por ejemplo:
#DEFINE PREFIJO 91
de este modo siempre que utilicemos la constante PREFIJO será lo mismo que
poner 91.
Por otro lado antes de seguir, es preciso conocer algunas
reglas esenciales para que los molestos errores no nos den dolor de cabeza.
------------------------------ REGLAS --------------------------------------
1º Al declarar una variable el primer carácter deber ser una letra o el guión
bajo '_', NUNCA UN NUMERO. El resto pueden ser letras, dígitos, etc.
2º Hay identicadores que pueden llevar uno o varios puntos en el nombre
( es ideal al definir estructuras ).
Por ejemplo:
Departamento.Tecnico
3º El nombre debe tener menos de 31 caracteres, y no se pueden utilizar
ni palabras reservadas ni caracteres especiales como ñ,@,#, etc.
----------------------------------------------------------------------------
Principalmente estas reglas hay que tenerlas en cuenta, luego podríamos
decir que tipo de nombres son más recomendables para según que cosas, por
ejemplo i, si hablamos de un contador, etc, pero esto queda a voluntad del
programador.
PALABRAS RESERVADAS
-------------------
En este cuadro se muestra casi todas las palabras reservadas ( sino se me
olvida ninguna ) que existen en el lenguaje C
-----------------------------------------------------------------------------
_asm auto _based break case _cdecl char const continue default
do double else enum _export extern _far _fastcall float for _fortran
goto _huge if int _interrupt _loadds long _near _pascal register
return _saveregs _segmen _segname _self short signed sizeof static
struct switch typedef union unsigned void volatile while argc argv
_emit envp main _setargv _setenvp
// aprenderemos a utilizarlas //
-----------------------------------------------------------------------------
Por último y antes de realizar nuestro primer programa, hablemos un poco
de tipo de datos.
TIPO DE DATOS
-------------
Los datos simples del lenguaje C, pueden ser ordinales o reales ( o de coma
flotante ).
Mejor que mencionarlos voy hacer un cuadro para que al mismo tiempo conozcaís
su rango o para que me entendaís los máximos o mínimos valores que pueden
procesar. ( Esta tabla está sacada del libro de programación en C de la Guía
Práctica para programadores, editado por Anaya, asi que si os gusta este
lenguaje este libro además de barato no está mal para empezar ).
-----------------------------------------------------------------------------
ORDINALES SIMPLES ( enteros )
Rango de Valores Nombre Bytes Tipo
---------------- ------ ----- ----
Depende del Entero * int
Sistema. Simple
" " Entero S.
sin signo * unsigned int
-128 a 127 Entero char 1 char
0 a 255 E.C sin signo 1 unsigned char
-32768 a 32767 Entero Corto 2 short
0 a 65535 E.C sin signo 2 unsigned short
-2.147.483.648
a Entero Largo 4 long
2.147.483.647
0 a 4.264.967.295 E.L sin signo 4 unsigned long
COMA FLOTANTE ( decimales )
-------------
7 dígitos Real Simple Precision 4 float
15 dígitos R. Doble . P 8 double
19 dígitos R. Doble . Largo 10 long double
-----------------------------------------------------------------------------
Dejamos para otro número Punteros, Arrays, Uniones ,etc...
A LO PRACTICO
-------------
/* EJEMPLO 1 */
En este ejemplo utilizaremos la librería <stdio.h> , esta
librería es primordial para que el programa reconozca los tipos de datos
como int, char, etc. y funciones como printf que permite mostrar un
mensaje en la pantalla y por ejemplo scanf que nos sirve para almacenar
un mensaje, dato, etc, introducido por el teclado ( scanf es más utilizado
por lo menos yo la utilizo, en C++, pero bueno eso que tenemos ganado ).
Es decir esta librería va a ser primordial en todos los programas.
( es decir, la librería <stdio.h> permite la escritura y lectura de cadenas
,lecturas en ficheros, etc.... )
Entonces comentemos un ejemplo:
#include <stdio.h>
// incluimos la libreria stdio.h entre los signos <> que indican que el
programa buscará esta librería en el directorio por defecto del programa
normalmente el directorio include, si nosotros deseamos que busque una
librería en otro directorio se lo deberemos indicar con los signos ""
por ejemplo #include "\micasa\pepe\grafos.h"
#define PREFIJO 91
void main()
{ -> se abre el programa
// La instrucción main indica que aquí comienza el programa, la instrucción
void le indica que no se le debe devolver ningún valor, antes de continuar
y esto es esencial cualquier línea de código que escribamos en C/C++ debe
finalizar con punto y coma (;) que le indicará al compilador cuando acaba
la instrucción //
// definimos datos //
int Entero=543;
char Letra='j';
float Real=33.3;
char nombre[20]; -> [20] indica que el valor máximo de caracteres
que admite nombre, aunque esto lo
veremos más detenidamente al ver los arrays.
clrscr(); ( borra la pantalla )
printf("Letra = %c \n",Letra);
printf("Entero = %d \n",Entero);
printf("Real = %f \n",Real);
/// Con la instrucción printf se muestra un mensaje en pantalla, su
funcionamiento es sencillo se pone ("") las comillas indican que se imprimirá
lo que se encuentre entre ellas, el símbolo \n indica un código de salto, es
decir que se salte una línea, en este caso particular que la siguiente
línea de código aparezca en la línea siguiente de pantalla [ que dominio del
lenguaje ;-) ]. Por otro lado nos referimos a la lectura de un dato int con
%d, a uno float con %f, a uno double con %ld, a uno char con %s o con %c de
cadena de caracteres, etc.
Por otro lado, y casi se me olvida, si quieres utilizar la constante
PREFIJO que hemos creado, por ejemplo podríamos poner una línea de código tal
que así:
printf("Entero= %d \n",Entero+PREFIJO);
esta línea suma el valor de la constante PREFIJO (91) al valor de la variable
Entero que es 543, y por tanto su resultado es el que se muestra en pantalla.
///
printf("Hola Mundo\n");
// Mucha gente, entre ellos yo, empezamos programando con la tan conocida
frase en programación hola mundo //
printf("Introduzca su nombre:");
scanf("%s",&nombre);
// La instrucción scanf como ya he mencionado sirve para almacenar un cadena
de caracteres ( números, letras, etc), al igual que en muchas instrucciones
el código a mostrar se encuentra entre las comillas, como se trata de un dato
char indicamos %s , una vez cerradas las comillas se deberá poner una coma
y el nombre de la variable a la cual nos referimos, acompañado por un
ampersand ( & ) delante que indica en cierto modo ( lo veremos más
profundamente ) que se almacene lo introducido por el teclado en esa variable,
dentro por supuesto del rango del dato definido en este caso char. //
printf("\n Hola %s",nombre);
// Nos mostrará el mensaje acompañado de lo introducido anteriormente //
} -> Cerramos el programa principal
Bueno por hoy ya está bien, el próximo número más....
En el directorio REGALOS\C se encuentra los ejemplos explicados, además
por si acaso no tenéis ningún compilador de C os aconsejo buscar el DJGPP
en Internet, revistas, etc, ya que es un compilador gratuito
como ya sabreís muchos y su funcionalidad no está mal, de todos modos si
no conseguís ninguno comunicármelo y haber que puedo hacer para que os llegue
aunque sea el DJGPP.
HANDLER